Monitoring power source redundancy via a power distribution unit

ABSTRACT

A programmable logic circuit assigns a value to an outlet of a power distribution unit (PDU) that comprises a power source at an input of the PDU and at least one light-emitting diode (LED) associated with the outlet. The programmable logic circuit sends the value to a program on a hardware device that comprises one or more power supplies. The programmable logic circuit receives information from the program. Subsequently, an illumination state of the LED is modified based on the information.

BACKGROUND

This disclosure relates generally to power distribution units, and morespecifically to monitoring power source redundancy via a powerdistribution unit.

Complex computer environments such as data centers contain multiplehardware devices, for example server computers, computer storagedevices, and computer network equipment. The hardware devices have avariety of power needs and can be housed within a computer rack. Tosupport the power needs of the hardware devices, power distributionunits (PDUs) are utilized. The PDUs have multiple outlets (i.e.,receptacles) that receive electrical power from a power source, and theoutlets distribute the electrical power to the hardware devices viapower cables that connect the outlets to power supplies of the hardwaredevices.

A service maintenance technician may experience difficulty indetermining the location of a specific power cable that connects a powersupply of a hardware device to an outlet of a PDU, because the powercable can be bundled together and covered by other power cables. Forinstance, often times within the complex computer environments,maintenance needs to be performed by a service maintenance technician onthe hardware devices. To perform the maintenance, it may be necessary todisconnect one or more power cables of hardware devices, from outlets ofPDUs in order to remove electrical power that is being supplied to thehardware devices. If the hardware devices are housed within a computerrack, for example a forty-two unit computer rack in which each unit hastwo power supplies, then there can be as many as eighty-four powercables running to multiple PDUs. Thus, if certain hardware devices havemore than one power supply, then multiple power cables may have to bedisconnected from the PDUs in order to ensure removal of electricalpower to those hardware devices. Often the wrong power cables can bedisconnected from the PDUs when trying to remove the electrical power toa hardware device, which can result in an unintentional shutdown ofanother hardware device that is operational and needs to remain on.

It is known for a person to physically trace the power cables that needto be disconnected, in order to locate the correct power cables andremove electrical power supplied to a specific hardware device. However,the power cables may be bundled together. As a result, a person may haveto unbundle many power cables in order to physically trace certain powercables and remove the electrical power, which can be inefficient andincrease the time to perform and complete maintenance tasks.Furthermore, it is also known to physically label each end of the powercables with handwritten or typewritten tags, which can assist withlocating the correct power cables to disconnect from a PDU. However,trying to physically trace power cables and read tags on the powercables can be difficult because the power cables are often bundledtogether and housed within a tightly enclosed area that is not easilyaccessible to a person, such as a service maintenance technician.

SUMMARY

Aspects of an embodiment of the present invention disclose a method andprogram product for determining a power cable is suitable fordisconnection from an outlet of a power distribution unit. Aprogrammable logic circuit assigns a value to an outlet of a powerdistribution unit (PDU) that comprises a power source at an input of thePDU and at least one light-emitting diode (LED) associated with theoutlet. The programmable logic circuit sends the value to a program on ahardware device that comprises one or more power supplies. Theprogrammable logic circuit receives information from the program.Subsequently, an illumination state of the LED is modified based on theinformation.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The subject matter which is regarded as an embodiment of the presentinvention is particularly pointed out and distinctly claimed in theclaims at the conclusion of the specification. One manner in whichrecited features of an embodiment of the present invention can beunderstood is by reference to the following detailed description ofembodiments, taken in conjunction with the accompanying drawings inwhich:

FIG. 1A is a block diagram of a system having programmable logic circuitthat modifies an illumination state of light-emitting diodes (LEDs) thatare dedicated to specific outlets of a power distribution unit (PDU) inwhich each PDU has a single power source according to an embodiment ofthe present invention;

FIG. 1B is a block diagram of an alternative embodiment of the system,shown in FIG. 1A, having programmable logic circuit that modifies anillumination state of LEDs that are dedicated to specific outlets of aPDU in which each PDU has more than one power source according to anembodiment of the present invention;

FIG. 2A is an illustration of a PDU, shown in FIG. 1A, that receiveselectrical power from a single power source, and receives information onpower supplies and power source conditions via a data communication portaccording to an embodiment of the present invention;

FIG. 2B is an illustration of a PDU, shown in FIG. 1B, that receiveselectrical power from more than one power source, and receivesinformation on power supplies and power source conditions via a datacommunication port according to an embodiment of the present invention;and

FIG. 3 is a flowchart illustrating operations of the programmable logiccircuit within the PDU according to an embodiment of the presentinvention.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like, conventional proceduralprogramming languages such as the “C” programming language, a hardwaredescription language such as Verilog, or similar programming languages.The program code may execute entirely on the user's computer, partly onthe user's computer, as a stand-alone software package, partly on theuser's computer and partly on a remote computer or entirely on theremote computer or server. In the latter scenario, the remote computermay be connected to the user's computer through any type of network,including a local area network (LAN) or a wide area network (WAN), orthe connection may be made to an external computer (for example, throughthe Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Exemplary embodiments now will be described more fully herein withreference to the accompanying drawings. This disclosure may, however, beembodied in many different forms and should not be construed as limitedto the exemplary embodiments set forth herein. Rather, these exemplaryembodiments are provided so that this disclosure will be thorough andcomplete, and will fully convey the scope of this disclosure to thoseskilled in the art. In the description, details of well-known featuresand techniques may be omitted to avoid unnecessarily obscuring thepresented embodiments.

Embodiments of the present invention provide a technique for determininga power cable is suitable for disconnection from an outlet of a powerdistribution unit (PDU). The PDU includes a programmable logic circuitthat modifies an illumination state of a light-emitting diode (LED) thatis dedicated to a specific outlet of the PDU, based on information aboutpower supplies and power source conditions. Particularly, theprogrammable logic circuit modifies the illumination state of the LED byactivating, deactivating, or blinking the LED. The PDU having theprogrammable logic circuit and outlets with LEDs, can help a persondetermine power cables, of hardware devices, that are suitable fordisconnection from outlets of the PDU.

If a hardware device is powered on, then the hardware device has one ormore hardware power supplies that are functional. Power cables connectedto the power supplies that are functional are not suitable fordisconnection from an outlet of the PDU if the hardware device ispowered on, because disconnecting the power cables may cause thehardware device to shutdown or lose power source redundancy. A hardwaredevice has power source redundancy if the hardware device connects to atleast two separate outlets that each distribute electrical power from adifferent power source.

Moreover, if the hardware device is powered on and has one or morenon-functional power supplies, then power cables connected to thenon-functional power supplies are suitable for disconnection fromoutlets of the PDU. Power cables are also suitable for disconnectionfrom outlets of the PDU if the power cables are connected to powersupplies of a hardware device that is powered off. Thus, power cablesare suitable for disconnection if the hardware device is not utilizingthe power cables as a transmission medium for receiving electricalpower. Accordingly, if a hardware device is powered off, or the hardwaredevice is powered on and has one or more power supplies that arenon-functional, then LEDs corresponding to certain outlets connected tothe hardware device will deactivate (i.e., certain LEDs will turn off).Particularly an LED corresponding to an outlet will deactivate if theoutlet is connected, via a power cable, to a hardware device that ispowered off. In addition, an LED corresponding to an outlet willdeactivate if the outlet is connected via a power cable to a powersupply, of a hardware device, that is non-functional. An LED that isdeactivated indicates that it is safe to disconnect a power cable froman outlet corresponding to the LED.

Furthermore, certain power cables of hardware devices are not suitablefor disconnection if the hardware devices are powered on, even if thehardware devices have power source redundancy. As described above, ahardware device has power source redundancy if the hardware deviceconnects to at least two separate outlets that each distributeelectrical power from a different power source. If the hardware deviceis powered on and has power source redundancy, then LEDs correspondingto outlets connected to functional power supplies of the hardware devicewill activate (i.e., LEDs will turn on). An LED that is activatedindicates that it is unsafe to disconnect a power cable from an outletcorresponding to the LED, because disconnecting the power cable may leadto loss of power source redundancy for a hardware device.

In addition, if a hardware device is powered on and does not have powersource redundancy, then LEDs corresponding to the outlets connected tofunctional power supplies of the hardware device will blink. A LED thatblinks indicates that it is unsafe to disconnect a power cable from anoutlet corresponding to the LED, because a hardware device connected tothe outlet does not have power source redundancy and disconnecting thepower cable may lead to total loss of electrical power to the hardwaredevice.

FIG. 1A is a block diagram illustrating system 100 that includes PDU 105a and 105 b having input 101 a and 101 b, power source 102 a and 102 b,network interface card 110 a and 110 b, power cables 115 a-118 a and 115b-118 b, programmable logic circuit 120 a and 120 b, a group of outlets125 a-128 a and 125 b-128 b, a group of LEDs 135 a-138 a and 135 b-138b, and switch 140 a and 140 b, respectively. System 100 also includesone or more hardware devices 150 each having system management software155 and one or more power supplies 160, wherein hardware devices 150 areconnected to PDU 105 a and 105 b via network 108. Specifically, PDU 105a and 105 b, utilizing network interface cards 110 a and 110 b, can beconfigured to communicate with system management software 155 vianetwork 108. Network interface cards 110 a and 110 b include applicationfirmware and hardware components that enable PDU 105 a and PDU 105 brespectively, to electronically communicate with hardware devices 150(i.e., send and receive information). PDU 105 a and 105 b can befloor-mounted or housed within a computer rack. Moreover, outlets 125a-128 a of PDU 105 a are connected to LEDs 135 a-138 a respectively, andoutlets 125 b-128 b of PDU 105 b are connected to LEDs 135 b-138 brespectively. Power cables 115 a-118 a distribute electrical power fromPDU 105 a to hardware devices 150, and power cables 115 b-118 bdistribute electrical power from PDU 105 b to hardware devices 150.Particularly, power cables 115 a-118 a and 115 b-118 can connect outlets125 a-128 a and 125 b-128 b to as many as eight separate power supplies160.

In the disclosed embodiment, PDU 105 a and 105 b both distributeelectrical power to hardware devices 150, but are connected to differentpower sources. PDU 105 a is connected to power source 102 a at input 101a, whereas PDU 105 b is connected to power source 102 b at input 101 b.Thus, in the disclosed embodiment, each of hardware devices 150 can havepower source redundancy if at least one of its power supplies 160 thatis functional is connected to PDU 105 a, and if another one of its powersupplies 160 that is functional is connected to PDU 105 b. Hardwaredevices 150 may be a computer with a workload (i.e., an applicationprogram executing in the computer and generally a number of end-usersinteracting with the computer's applications) deployed to accomplish aspecific task within a virtualized infrastructure in which essentialresources such as processing power, storage, and network bandwidth canbe dynamically allocated as needed.

Furthermore, in regard to PDU 105 a, switch 140 a can communicate withprogrammable logic circuit 120 a to indicate which of outlets 125 a-128a are connected to power source 102 a, by selecting a value that can beassigned by programmable logic circuit 120 a for each of outlets 125a-128 a. Specifically, switch 140 a can be a dual-in-line package (DIP)switch having selectors that can be toggled to select a first value thatcan be assigned to each of outlets 125 a-128 a, wherein the first valuerepresents power source 102 a. In the disclosed embodiment, power source102 a distributes electrical power through input 101 a to all outlets125 a-128 a. Thus, by utilizing switch 140 a and programmable logiccircuit 120 a, each of outlets 125 a-128 a has the first value assignedto indicate that outlets 125 a-128 a are connected to power source 102a. As described above, PDU 105 a is connected, via network 108, tohardware devices 150. Programmable logic circuit 120 a utilizes network108 to transmit, for each of outlets 125 a-128 a, the first value and aPDU outlet identifier (PDU outlet ID) to system management software 155.Each of outlets 125 a-128 a has a unique PDU outlet ID, which allowseach outlet 125 a-128 a to be individually identified. System managementsoftware 155 can utilize the first value received for each of outlets125 a-128 a as part of determining whether hardware devices 150 havepower source redundancy (i.e., whether hardware devices 150 areredundantly cabled to power sources 102 a and 102 b). For example, ifpower supplies 160 are functional and are all connected to a combinationof outlets 125 a-128 a having the first value (i.e., having the samepower source), then system management software 155 determines that thehardware devices 150 corresponding to the power supplies 160 do not havepower source redundancy because the hardware devices 150 are connectedto a combination of outlets 125 a-128 a that have the same power source.

Likewise, in regard to PDU 105 b, switch 140 b can communicate withprogrammable logic circuit 120 b to indicate which of outlets 125 b-128b are connected to power source 102 b, by selecting a value that can beassigned by programmable logic circuit 120 b for each of outlets 125b-128 b. In particular, switch 140 b can be a DIP switch havingselectors that can be toggled to select a second value that can beassigned to each of outlets 125 b-128 b, wherein the second valuerepresents power source 102 b. In the disclosed embodiment, power source102 b distributes electrical power through input 101 b to all outlets125 b-128 b. Thus, by utilizing switch 140 b and programmable logiccircuit 120 b, each of outlets 125 b-128 b has the second value assignedto indicate that outlets 125 b-128 b are connected to power source 102b. For each of outlets 125 b-128 b, programmable logic circuit 120 btransmits the second value and a PDU outlet ID, via network 108, tosystem management software 155. Each of outlets 125 b-128 b has a uniquePDU outlet ID, which allows each outlet 125 b-128 b to be individuallyidentified.

Subsequently, system management software 155 can process the firstvalues, the second values, and PDU outlet IDs received and determinewhether hardware devices 150 have power source redundancy. For example,if system management software 155 of a hardware device 150 receives afirst value and a second value, then this indicates that the hardwaredevice 150 is connected to a combination of outlets 125 a-128 a and 125b-128 b having different power sources. Thus, if the hardware device 150has power supplies 160 that are functional and connected to thecombination of outlets 125 a-128 a and 125 b-128 b having differentpower sources, then system management software 155 processes the firstvalue and second value and determines that the hardware device 150 haspower source redundancy. However, if the system management software 155of a hardware device 150 receives only one or more first values or onlyone or more second values, then this indicates that the hardware device150 is connected to a combination of outlets 125 a-128 a or 125 b-128 bnot having different power sources. Consequently, system managementsoftware 155 processes the one or more first values or second values anddetermines that the hardware device 150 does not have power sourceredundancy.

After making a determination on power source redundancy, of hardwaredevices 150, system management software 155 can send information aboutpower supplies 160 and power source conditions to programmable logiccircuit 120 a and 120 b. Specifically, the information that systemmanagement software 155 can send to programmable logic circuit 120 a and120 b includes the following: outlets 125 a-128 a and 125 b-128 b thatare connected to hardware devices 150 via power supplies 160, whetherhardware devices 150 are powered on, whether hardware devices 150 arepowered off, whether hardware devices 150 are receiving electrical powervia power supplies 160 from at least two different power sources,outlets 125 a-128 a and 125 b-128 b that are connected to power supplies160 that are non-functional, and outlets 125 a-128 a and 125 b-128 bthat are connected to power supplies 160 that are functional.

As mentioned above, programmable logic circuit 120 a and 120 b receivethe information from system management software 155. Programmable logiccircuit 120 a and 120 b can utilize the information to activate,deactivate, or blink one or more LEDs 135 a-138 a and 135 b-138 b,respectively. Programmable logic circuit 120 a and 120 b may beimplemented utilizing a microprocessor or an integrated circuit such asa field-programmable gate array (FPGA), which can be programmed by anend-user. In addition, in the disclosed embodiment, PDU 105 a and 105 beach have four outlets 125 a-128 a and 125 b-128 b, respectively. Inother embodiments (not shown) PDU 105 a and 105 b may each have only oneoutlet or as many as forty outlets, wherein each outlet can have its owncorresponding LED.

FIG. 1B is a block diagram illustrating an alternative embodiment ofsystem 100 that includes PDU 105 a and 105 b having power source 102 aand 102 b at each input 101 a and 101 b. In the alternative embodiment,each of hardware devices 150 can have power source redundancy byutilizing either PDU 105 a alone or PDU 105 b alone, because input 101 aand 101 b are each connected to power source 102 a and 102 b such thatPDU 105 a and 105 b can each distribute electrical power from powersource 102 a and 102 b. Thus, in the alternative embodiment, PDU 105 acan provide power source redundancy for hardware devices 150 byutilizing switch 140 a to select the first value that can be assigned toa portion of outlets 125 a-128 a connected to power source 102 a, andselect the second value that can be assigned to a portion of outlets 125a-128 a connected to power source 102 b. Similarly, PDU 105 b canprovide power source redundancy by utilizing switch 140 b to select thefirst value that can be assigned to a portion of outlets 125 b-128 bconnected to power source 102 a, and select the second value that can beassigned to a portion of outlets 125 b-128 b connected to power source102 b. As described above the first value represents power source 102 a,and the second value represents power source 102 b. Moreover, in thealternative embodiment, PDU 105 a and 105 b each have four outlets 125a-128 a and 125 b-128 b, respectively. In other embodiments (not shown)PDU 105 a and 105 b may each have only two outlets or as many as fortyoutlets, wherein each outlet can have its own corresponding LED.

FIG. 2A illustrates PDU 105 a, shown in FIG. 1A, having outlets 125a-128 a, LEDs 135 a-138 a, switch 140 a, data communication port 142,and power cord 144 with plug 145. PDU 105 a can receive electrical powerfrom a single power source (e.g., power source 102 a) via power cord 144and can distribute the electrical power through outlets 125 a-128 a tohardware devices 150. In addition, PDU 105 a can receive informationabout power supplies 160 and power source conditions through datacommunication port 142, wherein programmable logic circuit 120 a canprocess the information and activate, deactivate, or blink one or moreLEDs 135 a-138 a based on the information.

FIG. 2B illustrates PDU 105 a, shown in FIG. 1B, having outlets 125a-128 a, LEDs 135 a-138 a, switch 140 a, data communication port 142,power cord 144 with plug 145, and power cord 146 with plug 147. PDU 105a can receive electrical power from two power sources (e.g., powersource 102 a and 102 b) via power cord 144 and 146 and can distributethe electrical power through outlets 125 a-128 a to hardware devices150. In addition, PDU 105 a can receive information about power supplies160 and power source conditions through data communication port 142,wherein programmable logic circuit 120 a can process the information andactivate, deactivate, or blink one or more LEDs 135 a-138 a based on theinformation.

FIG. 3 is a flowchart 300 illustrating operations of programmable logiccircuit 120 a and 120 b within PDU 105 a and 105 b, respectively.However, for simplicity the flowchart is explained in terms ofprogrammable logic circuit 120 a. To begin the operations, values areselected for outlets 125 a-128 a by utilizing switch 140 a, wherein thevalues represent power sources at input 101 a of PDU 105 a. Programmablelogic circuit 120 a assigns a value to each outlet 125 a-128 a of PDU105 a (block 300). Next, programmable logic circuit 120 a sends thevalue and a PDU outlet ID to system management software 155 on hardwaredevices 150, for each outlet 125 a-128 a having an LED (block 305).System management software 155 processes the value to determine whetherthe hardware device 150 has power source redundancy. Specifically,system management software 155 on a hardware device 150 can determinethat hardware device 150 has power source redundancy if systemmanagement software receives at least two different values (i.e., afirst value and a second value) that each have different PDU outlet IDs.Next system management software 155 sends information to programmablelogic circuit 120 a. The information includes the following: outlets 125a-128 a and 125 b-128 b that are connected to hardware devices 150 viapower supplies 160, whether hardware devices 150 are powered on, whetherhardware devices 150 are powered off, whether hardware devices 150 arereceiving electrical power via power supplies 160 from at least twodifferent power sources, outlets 125 a-128 a and 125 b-128 b that areconnected to power supplies 160 that are non-functional, and outlets 125a-128 a and 125 b-128 b that are connected to power supplies 160 thatare functional.

Programmable logic circuit 120 a receives the information from systemmanagement software 155 (block 310). Next, if programmable logic circuit120 a determines that the information indicates hardware device 150 ispowered off (“NO” branch of decision block 315), then programmable logiccircuit 120 a deactivates the LED (e.g., LED 135 a-138 a) of each outlet125 a-128 a that is connected, via a power cable, to hardware device 150(block 320). Subsequently, further processing by programmable logiccircuit 120 a ends. However, if programmable logic circuit 120 adetermines that the information indicates hardware device 150 is poweredon (“YES” branch of decision block 315), then programmable logic circuit120 a determines if the information indicates hardware device 150 hasnon-functional power supplies 160.

If programmable logic circuit 120 a determines that the informationindicates hardware device 150 does not have non-functional powersupplies 160 (“NO” branch of decision block 325), then programmablelogic circuit 120 a determines if the information further indicateshardware device 150 has power source redundancy. If programmable logiccircuit 120 a determines that the information further indicates hardwaredevice 150 has power source redundancy (“YES” branch of decision block335), then programmable logic circuit 120 a activates the LED (e.g., LED135 a-138 a) of each outlet 125 a-128 a connected, via a power cable, tofunctional power supplies 160 of hardware device 150 (block 340).Subsequently, further processing by programmable logic circuit 120 aends.

However, if programmable logic circuit 120 a determines that theinformation indicates hardware device 150 has non-functional powersupplies 160 (“YES” branch of decision block 325), then programmablelogic circuit 120 a deactivates the LED (e.g., LED 135 a-138 a) of eachoutlet 125 a-128 a connected, via a power cable, to non-functional powersupplies 160 of hardware device 150 (block 330). Subsequently, ifprogrammable logic circuit 120 a determines that the informationindicates hardware device 150 has power source redundancy (“YES” branchof decision block 335), then programmable logic circuit 120 a activatesthe LED (e.g., LED 135 a-138 a) of each outlet 125 a-128 a connected,via a power cable, to functional power supplies 160 of hardware device150 (block 340). However, if programmable logic circuit 120 a determinesthat the information indicates hardware device 150 does not have powersource redundancy (“NO” branch of decision block 335), then programmablelogic circuit 120 a blinks the LED (e.g., LED 135 a-138 a) of eachoutlet connected via a power cable to functional power supplies 160 ofhardware device 150 (block 345). Next, further processing byprogrammable logic circuit 120 a ends.

Flowchart 300 depicted in FIG. 3 illustrates the functionality andoperation of possible implementations of a programmable logic circuitwithin a PDU having outlets in which each outlet has an LED, accordingto various embodiments of the present invention. In this regard, eachblock in the flowchart or block diagrams may represent a module,segment, or portion of code, which comprises one or more executableinstructions for implementing logical function(s). It should also benoted that, in some alternative implementations, the functions noted inthe block may occur out of the order noted in the figures. For example,two blocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

Lastly, the foregoing description of various aspects of the inventionhas been presented for purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseform disclosed and, obviously, many modifications and variations arepossible. Such modifications and variations that may be apparent to aperson skilled in the art are intended to be included within the scopeof the invention as defined by the accompanying claims.

What is claimed is:
 1. A system comprising: a first power source; ahardware device; an electrical outlet; an indicator hardware set; and aprogrammable logic circuit; wherein: the hardware device comprises afirst power supply; the hardware device is powered by the electricaloutlet; the first power supply is disconnectably electrically connectedto the electrical outlet; the first power source is disconnectablyelectrically connected to the electrical outlet; the electrical outletis configured to supply electrical power from the first power source tothe first power supply through the electrical outlet; the electricaloutlet is located in close proximity to the indicator hardware set; thehardware device is configured to: determine information related to thestatus of the first power supply, the information including a firstvalue; generate a signal that includes the information; and send thesignal through a communication network to the programmable logiccircuit; and the programmable logic circuit is configured to: assign thefirst value to the electrical outlet; modify the first value to includea first identifier identifying the electrical outlet, and a first namerepresenting the first power source; send the first value to a programon the hardware device that comprises the first power supply and ispowered by the electrical outlet; receive the signal through thecommunication network, from the hardware device related to the status ofthe first power supply coupled to the electrical outlet; and modify anindication state of the indicator hardware set based, at least in part,on the signal.
 2. The system of claim 1, wherein the indication stateindicates that the first power supply is in a suitable operationalstatus to be electrically disconnected from the electrical outlet. 3.The system of claim 1, further comprising: a second power source;wherein: the information of the first power supply reflects whether thehardware device is receiving electrical power from a member of a groupconsisting of: the first power source; the second power source; and boththe first power source and the second power source.
 4. The system ofclaim 1, wherein assigning the first value to the electrical outletincludes utilizing a switch to select the first value.
 5. The system ofclaim 4, wherein the switch is a dual-in-line package (DIP) switchhaving selectors that toggle to select the first value.
 6. The system ofclaim 1, wherein the hardware device is deployed to accomplish aspecific task within an infrastructure in which essential resources suchas processing power, storage, and network bandwidth can be allocated asneeded.
 7. The system of claim 1, wherein the information includes amember of a group consisting of: an identity of an outlet connected tothe hardware device via the first power supply; whether the hardwaredevice is powered on; whether the hardware device is powered off;whether the hardware device is receiving electrical power via the firstpower supply from at least two different power sources; a namecorresponding to the first power source; an identity of an outlet thatis connected to the first power supply that is non-functional; and anidentity of an outlet that is connected to the first power supply thatis functional.
 8. The system of claim 1, wherein modifying theindication state of the indicator hardware set based, at least in part,on the signal comprises: determining the hardware device is powered onand is receiving electrical power, via the first power supply, from atleast two different power sources, including the first power sourcerepresented by the first name and a second power source represented by asecond name; and activating the indicator hardware set.
 9. The system ofclaim 1, wherein modifying the indication state of the indicatorhardware set based, at least in part, on the signal comprises:determining the hardware device is powered off; and deactivating theindicator hardware set.
 10. The system of claim 1, wherein modifying theindication state of the indicator hardware set based, at least in part,on the signal comprises: determining the hardware device is powered on;determining the electrical outlet is connected to the first powersupply, which is non-functional; and deactivating the indicator hardwareset.
 11. The system of claim 1, wherein modifying the indication stateof the indicator hardware set based, at least in part, on the signalcomprises: determining the hardware device is powered on; determiningthe hardware device is not receiving electrical power, via the firstpower supply, from at least two different power sources, including thefirst power source represented by the first name and a second powersource represented by a second name; and causing the indicator hardwareset to blink an indicator light.
 12. The system of claim 1, whereinsending the first value to the program on the hardware device comprises:sending a unique ID associated with the electrical outlet in which theunique ID allows the electrical outlet to be individually identified bythe program on the hardware device.
 13. The system of claim 1, wherein:the hardware device further comprises a set of power supplies includingthe first power supply; and the hardware device is configured todetermine information related to individual statuses of each powersupply in the set of power supplies.